#ifndef __DONGLE_CLIENT__
#define __DONGLE_CLIENT__

#define DIAL_NUMBER_TDSCDMA "ATDT*98*1#"
#define DIAL_NUMBER_GSM "ATDT*99#"
#define DIAL_NUMBER_CDMA  "ATDT#777"

/* NOTE：
 * 		为了区分一般dongle和dm dongle，去要对涉及AT命令的接口进行抽象
 *	但是粒度比较大，以后改进
 * */
struct _DongleConfig;
typedef struct _DongleClient DongleClient;

DongleClient* dongle_client_create(Dongle* ownner, PppCtrl* ppp, struct modem_info* info);
char* 			client_get_operator_numeric(DongleClient* thiz);
int 			client_setup_data_connection(DongleClient* thiz, const char* apn, const char*user, const char* pwd);
void 			client_set_modem_info(DongleClient* thiz, struct modem_info* modem);
char* 	client_get_dongle_name(DongleClient* thiz);
void 			client_stop_pppd(DongleClient* thiz);
char* 	client_get_ppp_interface(DongleClient* thiz);
void 			client_destory(DongleClient* thiz);

typedef char*	(*dongle_client_get_operator_numeric)(DongleClient* thiz);
typedef int 	(*dongle_client_setup_data_connection)(DongleClient* thiz, const char* apn, const char*user, const char* pwd);


#endif
